package com.swu.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 费用信息表
 * </p>
 *
 * @author 勾新杰
 * @since 2025-06-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("billing_info")
@Schema(name="BillingInfo对象", description="费用信息表")
public class BillingInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "费用ID")
    @TableId(value = "billing_id", type = IdType.AUTO)
    private Integer billingId;

    @Schema(description = "病案号")
    private String medicalRecordId;

    @Schema(description = "总费用(元)")
    private BigDecimal totalCost;

    @Schema(description = "自付金额")
    private BigDecimal selfPay;

    @Schema(description = "一般医疗服务费")
    private BigDecimal generalMedicalService;

    @Schema(description = "一般治疗操作费")
    private BigDecimal generalTreatmentOperation;

    @Schema(description = "护理费")
    private BigDecimal nursingFee;

    @Schema(description = "其他费用")
    private BigDecimal otherFee;

    @Schema(description = "病理诊断费")
    private BigDecimal pathologyDiagnosis;

    @Schema(description = "实验室诊断费")
    private BigDecimal laboratoryDiagnosis;

    @Schema(description = "影像学诊断费")
    private BigDecimal imagingDiagnosis;

    @Schema(description = "临床诊断项目费")
    private BigDecimal clinicalDiagnosis;

    @Schema(description = "非手术治疗项目费")
    private BigDecimal nonSurgicalTreatment;

    @Schema(description = "手术治疗费")
    private BigDecimal surgicalTreatment;

    @Schema(description = "康复费")
    private BigDecimal rehabilitation;

    @Schema(description = "中医治疗费")
    private BigDecimal tcmTreatment;

    @Schema(description = "西药费")
    private BigDecimal westernMedicine;

    @Schema(description = "中成药费")
    private BigDecimal chinesePatentMedicine;

    @Schema(description = "中草药费")
    private BigDecimal chineseHerbalMedicine;

    @Schema(description = "血费")
    private BigDecimal bloodFee;

    @Schema(description = "白蛋白类制品费")
    private BigDecimal albumin;

    @Schema(description = "球蛋白类制品费")
    private BigDecimal globulin;

    @Schema(description = "检查用一次性医用材料费")
    private BigDecimal disposableExamMaterials;

    @Schema(description = "治疗用一次性医用材料费")
    private BigDecimal disposableTreatMaterials;

    @Schema(description = "手术用一次性医用材料费")
    private BigDecimal disposableSurgeryMaterials;

    @Schema(description = "其他费用")
    private BigDecimal otherCosts;


}
